Draft
Conversation
vharseko
approved these changes
Nov 26, 2025
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an experimental React/Vite-based “OpenAM UI JS SDK” module to the OpenAM UI build, packages it as distributable ZIP artifacts (app + library), and wires the app bundle into the openam-server-only WAR under extui/ (with a small CORS schema update to allow Accept-API-Version).
Changes:
- Introduce new
openam-ui-js-sdkMaven module with Vite/Vitest/TypeScript project (app + library builds, plus assemblies). - Package and embed the generated app ZIP into
openam-server-onlyWAR underextui/. - Bump frontend build toolchain versions (frontend-maven-plugin, Node, npm) and update CORS allowed headers.
Reviewed changes
Copilot reviewed 48 out of 50 changed files in this pull request and generated 23 comments.
Show a summary per file
| File | Description |
|---|---|
pom.xml |
Adds openam-ui-js-sdk app ZIP as a dependency in the root build. |
openam-ui/pom.xml |
Registers new UI module and bumps frontend-maven-plugin/Node/npm versions. |
openam-ui/openam-ui-js-sdk/vitest.config.js |
Vitest configuration (jsdom + setup file). |
openam-ui/openam-ui-js-sdk/vite.lib.config.ts |
Vite config for library build + DTS generation. |
openam-ui/openam-ui-js-sdk/vite.config.ts |
Vite config for app build output to target/app. |
openam-ui/openam-ui-js-sdk/tsconfig.node.json |
TS config for Vite config files. |
openam-ui/openam-ui-js-sdk/tsconfig.lib.json |
TS config for library build typings/source scope. |
openam-ui/openam-ui-js-sdk/tsconfig.json |
Project references for TS build mode. |
openam-ui/openam-ui-js-sdk/tsconfig.app.json |
TS config for app compilation scope. |
openam-ui/openam-ui-js-sdk/src/main.tsx |
App entry point rendering OpenAMUI. |
openam-ui/openam-ui-js-sdk/src/lib/userService.ts |
Client-side calls for user/session/profile/password operations. |
openam-ui/openam-ui-js-sdk/src/lib/types.ts |
SDK response/data type definitions. |
openam-ui/openam-ui-js-sdk/src/lib/setupTests.ts |
Test environment setup for RTL matchers. |
openam-ui/openam-ui-js-sdk/src/lib/router.tsx |
Hash router definition + service instantiation. |
openam-ui/openam-ui-js-sdk/src/lib/loginService.ts |
Client-side authentication request/callback submission helpers. |
openam-ui/openam-ui-js-sdk/src/lib/index.ts |
Library public exports (components + config/types). |
openam-ui/openam-ui-js-sdk/src/lib/env.d.ts |
Vite env typings for OpenAM URL configuration variables. |
openam-ui/openam-ui-js-sdk/src/lib/config.ts |
Global mutable config + default component implementations. |
openam-ui/openam-ui-js-sdk/src/lib/components/types.ts |
Pluggable UI component type contracts. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultUserForm.tsx |
Default user profile + change password modal UI. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultUserForm.test.tsx |
Tests for default user form behavior. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultLoginForm.tsx |
Default login form rendering callbacks + actions. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultLoginForm.test.tsx |
Tests for default login form integration with config. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultErrorForm.tsx |
Default error UI component. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultErrorForm.test.tsx |
Tests for default error UI. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultCallbackElement.tsx |
Default rendering for OpenAM callback types. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultCallbackElement.test.tsx |
Tests for callback element rendering/value updates. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultActionElements.tsx |
Default submit/action button rendering for callbacks. |
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultActionElements.test.tsx |
Tests for action element behavior. |
openam-ui/openam-ui-js-sdk/src/lib/__tests__/mocks.ts |
Mock auth/user payloads for component tests. |
openam-ui/openam-ui-js-sdk/src/lib/User.tsx |
User route: session check, profile load/save, password update. |
openam-ui/openam-ui-js-sdk/src/lib/OpenAMUI.tsx |
SDK root component mounting the router provider. |
openam-ui/openam-ui-js-sdk/src/lib/NotFoundPage.tsx |
404 page component. |
openam-ui/openam-ui-js-sdk/src/lib/Login.tsx |
Login route: init, submit callbacks, redirect or route change. |
openam-ui/openam-ui-js-sdk/src/lib/Home.tsx |
Home route: redirect to login or user based on session. |
openam-ui/openam-ui-js-sdk/src/index.scss |
Basic styling for forms/modals. |
openam-ui/openam-ui-js-sdk/pom.xml |
Maven build for npm test/build + assembly ZIPs (app + lib). |
openam-ui/openam-ui-js-sdk/package.json |
React/React Router/Vite/Vitest/TS toolchain definitions and scripts. |
openam-ui/openam-ui-js-sdk/index.html |
Vite HTML entry document. |
openam-ui/openam-ui-js-sdk/eslint.config.js |
ESLint config for TS/React hooks/refresh. |
openam-ui/openam-ui-js-sdk/assembly/lib-zip.xml |
Assembly descriptor for library ZIP artifact. |
openam-ui/openam-ui-js-sdk/assembly/app-zip.xml |
Assembly descriptor for app ZIP artifact. |
openam-ui/openam-ui-js-sdk/README.md |
Usage/customization docs for app and SDK consumption. |
openam-ui/openam-ui-js-sdk/.gitignore |
Ignores for node/vite outputs and zips. |
openam-ui/openam-ui-js-sdk/.env.development |
Dev env defaults for OpenAM server/context path. |
openam-ui/openam-ui-js-sdk/.env |
Sample env variables (commented). |
openam-server-only/src/main/resources/services/amCORS.xml |
Allows Accept-API-Version header; bumps revisionNumber. |
openam-server-only/pom.xml |
Downloads app ZIP, stages under extui/, and includes it in WAR resources; adds ZIP dependency. |
.github/workflows/deploy.yml |
Excludes openam-ui-js-sdk from javadoc aggregate build. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tyPlatform#943) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…andler.codec.http.HttpRequestEncoder (OpenIdentityPlatform#949) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…DoS via memory exhaustion (OpenIdentityPlatform#950) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…et` and `_.omit` functions (OpenIdentityPlatform#953) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o prototype pollution in the _.unset and _.omit functions. (OpenIdentityPlatform#954)
…er test in build.yml (OpenIdentityPlatform#959) Co-authored-by: Valery Kharseko <vharseko@3a-systems.ru>
…f service (OpenIdentityPlatform#960) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…on DoS in parse() + Prototype Pollution via parse() in NodeJS flatted (OpenIdentityPlatform#966) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ntSession Deserialization in OpenAM
…asses causes incorrect glob matching Related glob security issue patched in the same release (OpenIdentityPlatform#970) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
…oted-String Parsing (OpenIdentityPlatform#972) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 48 out of 50 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultCallbackElement.tsx
Outdated
Show resolved
Hide resolved
openam-ui/openam-ui-js-sdk/src/lib/components/DefaultCallbackElement.tsx
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
maximthomas
commented
Mar 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Experimental UI based on React JS library.
Allows to develop a custom OpenAM UI using pluggable components, see the README.md file